package com.open.pokergames.comm.repository;


import com.open.pokergames.base.entity.AppPageData;
import com.open.pokergames.base.entity.PageReq;
import com.open.pokergames.biz.entity.GroupCoinsLogEntity;
import com.open.pokergames.biz.entity.GroupCoinsVo;
import com.open.pokergames.biz.entity.GroupDto;
import com.open.pokergames.biz.entity.GroupEntity;
import com.open.pokergames.biz.entity.GroupMemberEntity;
import com.open.pokergames.biz.entity.GroupMemberListEntity;
import com.open.pokergames.biz.entity.GroupMessageEntity;
import com.open.pokergames.biz.entity.GroupVo;
import com.open.pokergames.biz.entity.InviteEntity;
import com.open.pokergames.biz.entity.MemberEntity;
import com.open.pokergames.biz.entity.MemberVo;
import com.open.pokergames.biz.entity.RoomCardLogEntity;
import com.open.pokergames.biz.entity.RoomVo;
import com.open.pokergames.biz.entity.ShowInfo;
import com.open.pokergames.comm.repository.entity.AppVersionEntity;
import com.open.pokergames.comm.repository.entity.FileEntity;
import com.open.pokergames.comm.repository.entity.LoginDto;
import com.open.pokergames.comm.repository.entity.LoginVo;
import com.open.pokergames.comm.repository.entity.ResultInfo;
import com.open.pokergames.comm.repository.entity.UserEntity;
import com.open.pokergames.comm.repository.entity.UserVo;
import com.open.pokergames.texas.repository.entity.RoomEntity;

import okhttp3.MultipartBody;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.PUT;
import retrofit2.http.Part;
import retrofit2.http.Path;
import retrofit2.http.Query;
import rx.Observable;

public interface Api {

    /**
     * 登录
     *
     * @param loginVo
     * @return
     */
    @POST("sys/login")
    Observable<ResultInfo<LoginDto>> login(@Body LoginVo loginVo);

    @POST("sys/loginAuto")
    Observable<ResultInfo<LoginDto>> loginAuto();

    @POST("sys/register")
    Observable<ResultInfo<LoginDto>> register(@Body UserVo loginVo);

    @POST("user/update")
    Observable<ResultInfo<UserEntity>> editUser(@Body UserVo loginVo);

    @POST("group/pageForMember")
    Observable<ResultInfo<AppPageData<GroupEntity>>> getMyGroups(@Body PageReq<GroupEntity> pageReq);

    @POST("group/add")
    Observable<ResultInfo<String>> addGroup(@Body GroupVo loginVo);

    @GET("group/get/{id}")
    Observable<ResultInfo<GroupDto>> groupDetail(@Path("id") String groupId);

    @POST("room/pageForGroupMember")
    Observable<ResultInfo<AppPageData<RoomEntity>>> roomsForUserJoinGroup(@Body PageReq<RoomVo> pageReq);

    @POST("room/page7CardsForGroupMember")
    Observable<ResultInfo<AppPageData<RoomEntity>>> page7CardsForGroupMember(@Body PageReq<RoomVo> pageReq);

    @POST("room/pageForGroupId")
    Observable<ResultInfo<AppPageData<RoomEntity>>> roomsForGroup(@Body PageReq<RoomVo> pageReq);

    @POST("room/add")
    Observable<ResultInfo<RoomEntity>> roomAdd(@Body RoomEntity room);

    @POST("groupMessage/page")
    Observable<ResultInfo<AppPageData<GroupMessageEntity>>> msgForGroup(@Body PageReq<GroupMessageEntity> pageReq);

    @POST("invite/page")
    Observable<ResultInfo<AppPageData<InviteEntity>>> pageForInvite(@Body PageReq<InviteEntity> pageReq);

    @POST("groupMember/pageForGroupId")
    Observable<ResultInfo<AppPageData<GroupMemberListEntity>>> pageForGroupMember(@Body PageReq<GroupMemberListEntity> pageReq);

    @POST("comm/searchUserByKeywords")
    Observable<ResultInfo<AppPageData<MemberEntity>>> searchUserByKeywords(@Body PageReq<MemberVo> pageReq);

    @PUT("invite/join")
    Observable<ResultInfo<InviteEntity>> inviteJoin(@Query("inviteId") String inviteId, @Query("state") int state);

    @GET("invite/exit")
    Observable<ResultInfo<String>> inviteExit(@Query("bizId") String bizId, @Query("bizType") String bizType);

    @POST("invite/add")
    Observable<ResultInfo<String>> inviteAdd(@Query("groupId") String groupId, @Query("toAccount") String toId);

    @POST("roomCardLog/page")
    Observable<ResultInfo<AppPageData<RoomCardLogEntity>>> pageForRoomCardLog(@Body PageReq<RoomCardLogEntity> pageReq);

    @POST("roomCardLog/addLog")
    Observable<ResultInfo<String>> addRoomCardAdd(@Query("getAccount") String getId, @Query("value") String value);

    @POST("groupCoinsLog/page")
    Observable<ResultInfo<AppPageData<GroupCoinsLogEntity>>> pageForGroupCoinLog(@Body PageReq<GroupCoinsLogEntity> pageReq);

    @POST("groupCoinsLog/addLog")
    Observable<ResultInfo<String>> optGroupCoin(@Body GroupCoinsVo param);

    @GET("room/retrieveByRoomNum")
    Observable<ResultInfo<RoomEntity>> retrieveRoom(@Query("roomNum") String roomNum);

    // 版本检测
    @GET("appVersion/lastVersion")
    Observable<ResultInfo<AppVersionEntity>> lastVersion();

    @GET("groupMember/getGroupMemberByRoomNum")
    Observable<ResultInfo<GroupMemberEntity>> getGroupMemberByRoomNum(@Query("roomNum") String roomNum);

    @POST("groupMember/setGroupPartner")
    Observable<ResultInfo<String>> setGroupPartner(@Query("groupId") String groupId, @Query("memberAccount") String memberAccount);

    @GET("comm/showInfo")
    Observable<ResultInfo<ShowInfo>> getShowInfo();

    /**
     * 上传附件
     *
     * @param bizType
     * @param file
     * @return
     */
    @Multipart
    @POST("file/upload")
    Observable<ResultInfo<FileEntity>> uploadFile(@Query("bizType") String bizType, @Part MultipartBody.Part file);

    //@Query("phone") String phone, @Query("password") String password
//    // 版本检测
//    @GET("clientVersion/getLatest")
//    Observable<ResultInfo<AppVersionEntity>> getAppInfoForLastVersion();
//
//    /**
//     * 上传附件
//     *
//     * @param bizId
//     * @param bizType
//     * @param file
//     * @return
//     */
//    @Multipart
//    @POST("attachment/upload")
//    Observable<ResultInfo<FileEntity>> uploadFile(@Query("bizId") String bizId, @Query("bizType") String bizType, @Query("id") String id, @Part MultipartBody.Part file);
//
//    /**
//     * 删除文件
//     *
//     * @param ids
//     * @return
//     */
//    @DELETE("attachment")
//    Observable<ResultInfo<Boolean>> delFileById(@Query("ids[]") String[] ids);
//
//    @GET("api/authority/attachment")
//    Observable<ResultInfo<ArrayList<QueryFileEntity>>> queryFile(@Query("bizIds") String[] bizIds, @Query("bizTypes") String[] bizTypes);
//
//    // 更新用户头像
//    @GET("emp/updatePhoto ")
//    Observable<ResultInfo<String>> updateUserPhoto(@Query("filePath") String filePath);
//
//    // 用户》更新Token
////    @GET("emp/userInfo")
////    Observable<ResultInfo<UserEntity>> updateToken();
//    @GET("login/appLogin")
//    Observable<ResultInfo<UserEntity>> updateToken(@Query("phone") String phone, @Query("password") String password);


//    // 注册用户
//    @POST("login/websitRegister")
//    Observable<ResultInfo<String>> doRegister(@Body UserVo userVo);
//
//    // 修改密码
//    @POST("emp/updatePassword")
//    Observable<ResultInfo<String>> updatePassword(@Body UserVo userVo);
//
//    // 文章 》 文章列表>>
//    @POST("post/getMoreNewsList")
//    Observable<ResultInfo<AppPageData<ArticleEntity>>> getArticleListData(@Body PageReq<ArticleVo> pageReq);
//
//    @GET("post/getWzPostDetailById")
//    Observable<ResultInfo<ArticleEntity>> getArticleDetail(@Query("id") String id);
//
//    // 人才工作 》专家列表
//    @GET("leaderInfo/getLeaderList")
//    Observable<ResultInfo<ArrayList<LeaderUserBean>>> getRenCaiLeaderListData(@Query("busType") String busType);
//
//    // 云课堂 》 课程列表>>
//    @POST("learningMaterialsManagement/getWLearningList")
//    Observable<ResultInfo<AppPageData<YunKeBean>>> getYunkePageData(@Body PageReq<YunKeVo> pageReq);
//
//    // 云课堂 》 课程列表>> 我的
//    @POST("learningRecord/pageAppMyRecord")
//    Observable<ResultInfo<AppPageData<YunKeRecordBean>>> getMyYunkePageData(@Body PageReq<YunKeVo> pageReq);
//
//    // 云课堂 》 课程播放列表>>
//    @GET("coursewareManagement/getWzCoursewareListByLmmId")
//    Observable<ResultInfo<ArrayList<YunKePlayBean>>> getYunkePlayListData(@Query("LmmId") String LmmId);
//
//    // 党员干部教育 》 考试试题详情>>
//    @GET("examinationTest/getExaminationTest")
//    Observable<ResultInfo<PeiXunKaoShiInfoBean>> getPeiXunKaoShiDetail(@Query("id") String id);
//
//    // 党务秘书》意见建议》新增
//    @POST("suggestions")
//    Observable<ResultInfo<SuggestionBean>> submitSuggestion(@Body SuggestionVo vo);
//
//    // 1280举报》反馈查询
//    @POST("report/getReplyByCode")
//    Observable<ResultInfo<JuBaoChaXunBean>> getReplyByCode(@Query("code") String code);
//
//    // 党务秘书 》 投票管理列表>>
//    @POST("voting/page")
//    Observable<ResultInfo<AppPageData<TouPiaoGuanBean>>> getTouPiaoGuanListData(@Body PageReq<TouPiaoGuanVo> pageReq);
//
//    // 党务秘书 》 投票详情>>
//    @GET("voting/details")
//    Observable<ResultInfo<TouPiaoGuanBean>> getTouPiaoGuanDetail(@Query("id") String id);
//
//    // 党务秘书 》 投票保存>>
//    @POST("voting/insertVotingAnswer")
//    Observable<ResultInfo<Boolean>> saveTouPiaoGuanLiResult(@Body TouPiaoGuanLiSaveVO saveVo);
//
//    // 党务秘书 》 问卷列表>>
//    @POST("questionnaire/availablePage")
//    Observable<ResultInfo<AppPageData<DiaoChaWenJuanListBean>>> getDiaoChaWenJuanListData(@Body PageReq<DiaoChaWenJuanVo> pageReq);
//
//    // 党务秘书 》 问卷详情>>
//    @GET("questionnaire/get")
//    Observable<ResultInfo<DiaoChaWenJuanBean>> getDiaoChaWenJuanDetail(@Query("id") String id);
//
//    // 党务秘书 》 问卷提交>>
//    @POST("questionnaire/insertAnswer")
//    Observable<ResultInfo<Boolean>> submitDiaoChaWenJuanResultSet(@Body DiaoChaWenJuanSubmitBean vo);
//
//    // 党员教育 》 考试列表>> examinationTest/getWzExaminationList
//    @POST("examinationTest/pageAppSignList")
//    Observable<ResultInfo<AppPageData<ExamineBean>>> getPeiXunKaoShiListData(@Body PageReq<CommVo> pageReq);
//
//    // 举报12380 》 提交>>
//    @POST("report/save")
//    Observable<ResultInfo<JuBaoBean>> putJuBaoInfo(@Body JuBaoVo vo);
//
//    // 基层党建 》地图》村社区列表>>
//    @GET("township/getTownMapList")
//    Observable<ResultInfo<ArrayList<TownshipBean>>> getCommunityList(@Query("name") String name);
//
//    // 基层党建 》Web》村社区列表>>
//    @GET("township/getWzTownList")
//    Observable<ResultInfo<ArrayList<TownshipBean>>> getTownWebList(@Query("name") String name);
//
//    // 志愿者 》 主页活动简报（即是新闻文章接口）
//    @POST("biz/post/appNewsMore")
//    Observable<ResultInfo<AppPageData<ArticleEntity>>> getPartyServiceArticleList(@Body PageReq<ArticleVo> pageReq);
//
//    // 党组织 》 组织列表
//    @POST("partyOrg/getGroupOrglist")
//    Observable<ResultInfo<ArrayList<PartyOrgBean>>> getPartyOrgList(@Body PageReq<PartyOrgVo> pageReq);
//
////    // 党组织 》 组织列表
////    @POST("partyOrg/list")
////    Observable<ResultInfo<ArrayList<PartyOrgBean>>> getPartyOrgList(@Body PageReq<PartyOrgVo> pageReq);
//
//    // 党组织 》 组织成员列表
//    @POST("partyMember/page")
//    Observable<ResultInfo<AppPageData<PartyMemberBean>>> getPartyMemberListData(@Body PageReq<PartyMemberVo> pageReq);
//
//    // 党组织 》 村社区列表
//    @POST("department/pageBySelect")
//    Observable<ResultInfo<AppPageData<OrgDeptBean>>> getOrgForCityCommListData(@Body PageReq<PartyOrgVo> pageReq);
//
//    // 党组织 》 市委组织成部列表》成员列表
//    @GET("emp/getUserList")
//    Observable<ResultInfo<ArrayList<OrgEmpBean>>> getOrgForCityCommMemberListData(@Query("maindeptid") String maindeptid);
//
//    // 基础党建 》 党员发展》步骤列表
//    @POST("partyDevelop/detail")
//    Observable<ResultInfo<HashMap<String, ArrayList<PartyDevBean>>>> getDangYuanFaZhanListData();
//
//    // 党组织 》 党员发展》附件列表
//    @POST("dyfzFile/page")
//    Observable<ResultInfo<AppPageData<PartyDevFileBean>>> getDyfzFileListData(@Body PageReq<PartyDevVo> pageReq);
//
//    // 消息 》 分页列表
//    @POST("notice/pageAppNoticeList")
//    Observable<ResultInfo<AppPageData<MsgEntity>>> getMsgPageListData(@Body PageReq<MsgVo> pageReq);
//
//    // 消息 》 我的数据》分页列表
//    @POST("notice/pageMyNoticeList")
//    Observable<ResultInfo<AppPageData<MsgEntity>>> getMsgPageListForMeData(@Body PageReq<MsgVo> pageReq);
//
//    // 公务员管理 》 业务指南
//    @GET("bussGuide/pageBusNodeList")
//    Observable<ResultInfo<ArrayList<BizGuideBean>>> getGongWuYuanGuanLiListData();
//
//    //
////    @GET("authority/login/sendCode")
////    Observable<ResultInfo<String>> getPhoneCode(@Query("phone") String phone, @Query("busType") String busType);
////
////    @GET("authority/login/codeVerify")
////    Observable<ResultInfo<Boolean>> checkPhoneCode(@Query("phone") String phone, @Query("code") String code);
////
////    // 根据验证码修改手机号-公共
////    @GET("authority/emp/updatePhoneByCode")
////    Observable<ResultInfo<String>> changePhoneNum(@Query("newPhone") String phone, @Query("code") String code);
////
////    // 忘记密码重置
////    @GET("authority/login/appUpdatePwd")
////    Observable<ResultInfo<Boolean>> resetUserPassword(@Query("phone") String phone, @Query("newPassword") String newPassword, @Query("oldPassword") String oldPassword);
////
////    // 分享App>发送验证邀请码
////    @POST("authority/invite/integral")
////    Observable<ResultInfo<Boolean>> sendShareAppCode(@Body ShareAppBean vo);
////
////    // 用户》检查登录人后台信息和输入是否一致
////    @POST("authority/emp/checkInfo")
////    Observable<ResultInfo<Boolean>> checkUserInfo(@Body UserVo vo);
////
////    // 用户》更新Token
////    @GET("authority/emp/userInfo")
////    Observable<ResultInfo<UserEntity>> updateToken();
////
////    // 用户》签到
////    @POST("authority/integral/signIn")
////    Observable<ResultInfo<JiFenBean>> doSignIn();
////
////    // 用户》更新用户基本信息
////    @POST("authority/emp/updateFromApp")
////    Observable<ResultInfo<UserVo>> updateUserInfo(@Body UserVo vo);
////
////    /**
////     * 注册用户
////     *
////     * @param register
////     * @return
////     */
////    @POST("authority/login/appRegister")
////    Observable<ResultInfo<UserEntity>> doRegister(@Body UserVo register);
////
////    @POST("authority/emp/updatePassword")
////    Observable<ResultInfo<Boolean>> updatePassword(@Body UserVo userVo);
////
////    /**
////     * 新增反馈
////     *
////     * @param bean
////     * @return
////     */
////    @POST("biz/feedback")
////    Observable<ResultInfo<FeedbackEntity>> addFeedback(@Body FeedbackEntity bean);
////
////    /**
////     * 新闻  》 加载主页所有数据
////     *
////     * @param req
////     * @return
////     */
////    @POST("biz/post/appNews")
////    Observable<ResultInfo<MainPageAo>> loadMainData(@Body MainPageVo req);
////
////    @POST("biz/post/appNews")
////    Observable<ResultInfo<ZhenJieEntity>> loadZhenJieData(@Body MainPageVo req);
////
////    // 文章 》 文章评论列表
////    @POST("biz/reply/page")
////    Observable<ResultInfo<AppPageData<NewsCommentsBean>>> loadNewsCommentsList(@Body PageReq<NewsCommentsBean> pageReq);
////
////    // 文章  》 文章评论新增
////    @POST("biz/reply")
////    Observable<ResultInfo<NewsCommentsBean>> addNewsComment(@Body NewsCommentsBean req);
////
////    // 文章  》 文章评论》点赞
////    @POST("biz/postRecord")
////    Observable<ResultInfo<NewsRecordBean>> addCommentsLiked(@Body NewsRecordBean req);
////
////    @GET("biz/post/appNew/{id}")
////    Observable<ResultInfo<NewsBean>> loadNewsDetails(@Path("id") String id);
////
////    @POST("biz/post/appPostType")
////    Observable<ResultInfo<List<NewsTagEntity>>> loadNewsTagData(@Body MainPageVo req);
////
////    @POST("biz/post/appNewsMore")
////    Observable<ResultInfo<AppPageData<NewsBean>>> loadNewsData(@Body PageReq<MainPageVo> pageParam);
////
//
//    //
////    // 三会一课列表
////    @POST("biz/meetingapp/page")
////    Observable<ResultInfo<AppPageData<ShykListEntity>>> loadShykList(@Body PageReq<ShykReq> pageParam);
////
////    // 三会一课详情
////    @GET("biz/meeting/{id}")
////    Observable<ResultInfo<ShykDetailEntity>> loadShykDetail(@Path("id") String id);
////
////    // 三会一课详情（请假，取消请假，签到）
////    @POST("biz/meeting/unite")
////    Observable<ResultInfo<Boolean>> shykDetailOperation(@Body ShykReq shykReq);
////
////    // 会议接受情况
////    @POST("biz/joinPerson/receivepage")
////    Observable<ResultInfo<AppPageData<PersonInfoEntity>>> loadMeetReceive(@Body PageReq<ShykReq> pageParam);
////
////    // 会议参加情况
////    @POST("biz/joinPerson/unite")
////    Observable<ResultInfo<AppPageData<PersonInfoEntity>>> loadJoinPerson(@Body PageReq<ShykReq> pageParam);
////
////    // 志愿者 》 主页活动简报（即是新闻文章接口）
////    @POST("biz/post/appNewsMore")
////    Observable<ResultInfo<AppPageData<NewsBean>>> getZiYuanZheMainData(@Body PageReq<NewsVo> pageReq);
////
//    // 志愿者 》 团队列表
//    @POST("volunteerOrg/pageAppOrgList")
//    Observable<ResultInfo<AppPageData<ZyzTuanDuiEntity>>> getZyzTuanDuiListData(@Body PageReq<ZyzTuanDuiEntity> pageReq);
//
//    // 志愿者 》 团队详情
//    @GET("volunteerOrg/{id}")
//    Observable<ResultInfo<ZyzTuanDuiEntity>> getZyzTuanDuiDetail(@Path("id") String id);
//
//    // 志愿者 》 团队成员列表
//    @POST("volunteerMember/page")
//    Observable<ResultInfo<AppPageData<VolunteerMemberEntity>>> getZyzTuanDuiMemberListData(@Body PageReq<ZyzTuanDuiVo> pageReq);
//
//    // 志愿者 》 登录用户的志愿者信息
//    @GET("volunteerMember/getInfo")
//    Observable<ResultInfo<VolunteerMemberEntity>> getZyzLoginUserInfo();
//
//    // 志愿者 》 新增自愿者信息
//    @POST("volunteerMember")
//    Observable<ResultInfo<Boolean>> zyzAddUserInfo(@Body VolunteerMemberEntity bean);
//
//    //
////    // 志愿者 》 修改自愿者信息
////    @PUT("biz/volunteerMember")
////    Observable<ResultInfo<Boolean>> zyzEditUserInfo(@Body VolunteerMemberEntity bean);
////
//    // 志愿者 》 活动列表
//    @POST("volunteerActivity/page")
//    Observable<ResultInfo<AppPageData<ZyzHuoDongEntity>>> getHuoDongListData(@Body PageReq<VolunteerVo> pageReq);
//
//    // 志愿者 》 我的活动列表
//    @POST("volunteerActivity/myPage")
//    Observable<ResultInfo<AppPageData<ZyzHuoDongEntity>>> getHuoDongForMeListData(@Body PageReq<VolunteerVo> pageReq);
//
//    // 志愿者 》 活动》详情
//    @GET("volunteerActivity/{id}")
//    Observable<ResultInfo<ZyzHuoDongEntity>> getHuoDongDetail(@Path("id") String id);
//
//    // 志愿者 》 活动》报名
//    @POST("volunteerActivityEnroll")
//    Observable<ResultInfo<ZyzHuoDongBMEntity>> huoDongSignUp(@Body ZyzHuoDongVo bean);
//
//    // 志愿者 》 活动》签到
//    @POST("volunteerActivitySign")
//    Observable<ResultInfo<Boolean>> doActivitySignIn(@Body ZyzKaoQingBean bean);
//
//    // 志愿者 》 活动》签到列表
//    @POST("volunteerActivitySign/page")
//    Observable<ResultInfo<AppPageData<ZyzKaoQingBean>>> getZyzQianDaoListData(@Body PageReq<ZyzKaoQingBean> pageReq);
//
//    //
//    // 志愿者 》 积分》积分列表
//    @POST("volunteerRanking/page")
//    Observable<ResultInfo<AppPageData<ZyzJiFenBean>>> getZyzJiFenOrderListData(@Body PageReq<ZyzJiFenBean> pageReq);
//
//    // 志愿者 》 积分》积分单位
//    @GET("volunteerRanking")
//    Observable<ResultInfo<ArrayList<ZyzJiFenBean>>> getZyzJiFenStreetListData();
//
//    // 志愿者 》 获取活动时间段
//    @GET("volunteerActivityConfig/getActiveTimeList")
//    Observable<ResultInfo<ArrayList<TimeBean>>> getTimeListData(@Query("activityId") String activityId);
////
////    // 志愿者 》 帮我 》 列表数据
////    @POST("biz/volunteerHelp/page")
////    Observable<ResultInfo<AppPageData<ZyzBangWoEntity>>> getBangWoListData(@Body PageReq<ZyzBangWoEntity> pageReq);
////
////    // 志愿者 》 帮我 》 新增
////    @POST("biz/volunteerHelp")
////    Observable<ResultInfo<ZyzBangWoEntity>> addBangWo(@Body ZyzBangWoEntity bean);
////
////    // 加载党组织列表
////    @POST("biz/partyOrg/list")
////    Observable<ResultInfo<List<DzzListEntity>>> loadDzzList(@Body PageReq<DzzReq> pageParam);
////
////    // 加载党组织详情
////    @GET("biz/partyOrg/getDetail")
////    Observable<ResultInfo<DzzDetailEntity>> loadDzzDetail(@Query("id") String id);
////
////    //  消息提醒列表
////    @POST("/biz/notice/page")
////    Observable<ResultInfo<AppPageData<MsgEntity>>> loadMsgList(@Body PageReq<MsgReq> pageParam);
////
////    // 消息提醒详情
////    @GET("/biz/notice/{id}")
////    Observable<ResultInfo<MsgEntity>> loadMsgDetail(@Path("id") String id);
////
////    // 我的 》 我的记录：收藏1；浏览2
////    @POST("biz/post/appPostRecord")
////    Observable<ResultInfo<AppPageData<NewsRecordBean>>> getMyRecordList(@Body PageReq<NewsRecordBean> pageReq);
////
////    // 我的 》 通知消息>列表
////    @POST("biz/notice/page")
////    Observable<ResultInfo<AppPageData<NoticeBean>>> getMyNoticeList(@Body PageReq<NoticeBean> pageReq);
////
////    // 我的 》 通知消息>修改状态
////    @POST("biz/notice/updateBatch")
////    Observable<ResultInfo<Boolean>> updateNoticeReadStatus(@Body NoticeBean vo);
////
////    // 我的 》 获取我的相关数据
////    @POST("biz/post/apMyCount")
////    Observable<ResultInfo<MyDataBean>> loadMyData();
////
////    // 积分红豆 》 列表
////    @POST("authority/integral/page")
////    Observable<ResultInfo<AppPageData<JiFenBean>>> getHongDouListData(@Body PageReq<JiFenBean> pageReq);
////
////    // 积分红豆 》 查询信息
////    @POST("authority/integral/myScore")
////    Observable<ResultInfo<Integer>> queryJiFenInfo(@Body JiFenVo pageReq);
////
////    // 积分红豆 》 兑换
////    @POST("authority/integral/exchange")
////    Observable<ResultInfo<Boolean>> jiFenExchange(@Body JiFenVo pageReq);
//
//    @Streaming
//    @GET
//    Call<ResponseBody> download(@Url String url);
//
//    /**
//     * 我的》统计数据
//     */
//    @GET("partyTask/getMyWorkCount")
//    Observable<ResultInfo<MineCountBean>> getMineViewData();
//
//    // 任务》我的任务列表
//    @POST("partyTask/pageMyTaskList")
//    Observable<ResultInfo<AppPageData<TaskBean>>> getTaskPageListForMeData(@Body PageReq<CommVo> pageReq);
//
//    // 任务》任务列表
//    @POST("partyTask/pageOnlineTaskList")
//    Observable<ResultInfo<AppPageData<TaskBean>>> getTaskPageListForAllData(@Body PageReq<CommVo> pageReq);
//
//    /**
//     * 加载任务详情
//     */
//    @GET("partyTask/{id}")
//    Observable<ResultInfo<TaskDetailEntity>> loadTaskDetail(@Path("id") String id);
//
//    /**
//     * 上传任务进度
//     */
//    @POST("partyTaskFlow")
//    Observable<ResultInfo<TaskRateEntity>> uploadTaskRate(@Body TaskRateEntity taskRateEntity);
//
//    /**
//     * 提交任务审核
//     */
//    @POST("partyTask/saveAudit")
//    Observable<ResultInfo<String>> submitTaskCheck(@Body PartyTaskVo vo);
//
//    /**
//     * 加载任务进度详情
//     */
//    @GET("partyTaskFlow/{id}")
//    Observable<ResultInfo<TaskRateEntity>> loadRateDetail(@Path("id") String id);
//
//    // 我的》我的积分列表
//    @POST("integralDetailed/pageIntegralDetailedList")
//    Observable<ResultInfo<AppPageData<JiFenBean>>> getJiFenPageListForMeData(@Body PageReq<CommVo> pageReq);
//
//    // 我的》我的考试
//    @POST("examinationSign/pageAppMyExamList")
//    Observable<ResultInfo<AppPageData<ExamineBean>>> getExamineListData(@Body PageReq<CommVo> pageReq);
//
//    // 考试》报名
//    @POST("examinationTest/updateUserSign")
//    Observable<ResultInfo<ExamineSignBean>> examineSignUp(@Body ExamineVo vo);
//
//    // 考试》提交考试答题答案
//    @POST("examinationTest/submitAnswer")
//    Observable<ResultInfo<String>> submitExamineAnswer(@Body ExamineSubmitVo vo);
//
//    // 云课堂》新增学习进度
//    @POST("learningRecord/saveOrUpdate")
//    Observable<ResultInfo<StudyRecordBean>> saveOrUpdateStudyRecord(@Body StudyRecordVo vo);
//
//    // 随手拍》提交
//    @POST("shotQuestion/save")
//    Observable<ResultInfo<FreePhotosBean>> submitFreePhotos(@Body FreePhotosVo vo);
//
//    // 随手拍》查询分页
//    @POST("shotQuestion/pageAppMyShotList")
//    Observable<ResultInfo<AppPageData<FreePhotosBean>>> getFreePhotosPageListData(@Body PageReq<FreePhotosVo> pageReq);
//
//    // 随手拍》查询详情
//    @GET("shotQuestion/getById")
//    Observable<ResultInfo<FreePhotosBean>> getFreePhotosDetailById(@Query("id") String id);
//
//    // 随手拍》处理新增
//    @POST("shotQuestion/updateTask")
//    Observable<ResultInfo<Boolean>> submitDealWithFreePhotos(@Body FreePhotosVo vo);
//
//    // 组织生活》查询分页
//    @POST("orgLife/pageAppOrgLifeList")
//    Observable<ResultInfo<AppPageData<PartyLifeBean>>> getPartyLifePageData(@Body PageReq<PartyLifeVo> pageReq);
//
//    // 组织生活》查询详情
//    @GET("orgLife/get")
//    Observable<ResultInfo<PartyLifeBean>> getPartyLifeDetailById(@Query("id") String id);
//
//    // 组织生活》新增
//    @POST("orgLife/insertOrgLife")
//    Observable<ResultInfo<PartyLifeBean>> addPartyLife(@Body PartyLifeVo vo);
//
//    // 组织生活 》 组织生活资料上传提醒
//    @POST("notice/pageAppOrgLifeNoticeList ")
//    Observable<ResultInfo<AppPageData<MsgEntity>>> getPartyLifeNoticeList(@Body PageReq<MsgVo> pageReq);
//
//    // 机构组织》更新村镇社区信息
//    @POST("township/updateTownLocation")
//    Observable<ResultInfo<String>> updateTownInfo(@Body TownshipVo vo);
//
//    @GET("djVercode/save")
//    Observable<ResultInfo<String>> getPhoneCode(@Query("mobile") String phone, @Query("sendType") String busType);
//
//    // 忘记密码》修改密码
//    @GET("login/updatePwdByCode")
//    Observable<ResultInfo<String>> updatePasswordForForget(@Query("phone") String phone, @Query("code") String code, @Query("password") String password);
//
//    @GET("learningRecord/getClassHours")
//    Observable<ResultInfo<String>> getLearningRecordClassHours();
//
//    @GET("schoolClasses/getMyClassList")
//    Observable<ResultInfo<List<ExamineClassEntity>>> getMyClassList();
//
//    @GET("schoolClasses/getJoinClassList")
//    Observable<ResultInfo<List<ExamineClassEntity>>> getJoinClassList();
//
//    @GET("examinationTest/getWzExaminationList")
//    Observable<ResultInfo<List<ExamineBean>>> getWzExaminationList(@Query("classId") String classId);
//
//    // 班级》班级成员
//    @POST("schoolUser/page")
//    Observable<ResultInfo<AppPageData<ExamineClassMemberEntity>>> getExamineClassMemberPage(@Body PageReq<ExamineClassVO> pageReq);
//
//    // 班级》入班审核
//    @GET("schoolUser/getAuditList")
//    Observable<ResultInfo<List<ExamineClassMemberEntity>>> schoolUserGetAuditList(@Query("classId") String classId);
//
//    @POST("schoolAttendance/save")
//    Observable<ResultInfo<AttendanceEntity>> doAttendance(@Body AttendanceVO vo);
//
//    @GET("schoolAttendance/get")
//    Observable<ResultInfo<List<AttendanceEntity>>> getSchoolAttendanceList(@Query("classId") String classId);
//
//    @POST("schoolAttendance/getPageList")
//    Observable<ResultInfo<AppPageData<AttendanceEntity>>> getExamineClassesAttendanceListForAll(@Body PageReq<ExamineClassVO> pageReq);
//
//    // 班级》加入
//    @POST("schoolUser/save")
//    Observable<ResultInfo<String>> examineClassJoin(@Body ExamineClassJoinVO vo);
//
//    // 班级》列表方式加入
//    @POST("schoolUser/updateJoinClass")
//    Observable<ResultInfo<String>> updateJoinClass(@Body ExamineClassJoinVO vo);
//
//    // 班级》加入考试
//    @POST("examinationResult/insertStartExam")
//    Observable<ResultInfo<String>> insertStartExam(@Body ExamineClassJoinVO vo);
//
//    @GET("schoolTeacher/getCourseTeacherList")
//    Observable<ResultInfo<List<CourseTeacherEntity>>> getCourseTeacherList(@Query("classId") String classId);
//
//    @POST("schoolCourse/pageList")
//    Observable<ResultInfo<AppPageData<ExamineClassCourseEntity>>> getSchoolCoursePage(@Body PageReq<ExamineClassVO> pageReq);
//
//    @GET("schoolTeacherEval/getTeacherEval")
//    Observable<ResultInfo<TeacherRankEntity>> getTeacherEval(@Query("classId") String classId, @Query("userId") String userId, @Query("courseId") String courseId);
//
//    // 班级》新增党校教师评价
//    @POST("schoolTeacherEval/save")
//    Observable<ResultInfo<TeacherRankEntity>> schoolTeacherEvalSave(@Body TeacherRankVO vo);
//
//    @GET("schoolCourse/getCourseList")
//    Observable<ResultInfo<List<ExamineAttendanceCourseEntity>>> getSchoolCourseCourseList(@Query("classId") String classId);
//
//    @GET("schoolClasses/get")
//    Observable<ResultInfo<ExamineClassEntity>> getSchoolClassesInfo(@Query("id") String id);
//
//    // 干部考试》模拟考试》列表
//    @GET("examinationTest/getSimulationExamList")
//    Observable<ResultInfo<ArrayList<ExamineBean>>> getSimulationExamList();
//
//    // 干部考试》模拟考试》成绩
//    @GET("examinationTest/getSimExamScore")
//    Observable<ResultInfo<ArrayList<ExamineBean>>> getSimExamScore();
//
//    // 干部考试》正式考试》列表
//    @GET("examinationTest/getFormalExamList")
//    Observable<ResultInfo<ArrayList<ExamineBean>>> getFormalExamList();
//
//    // 干部考试》正式考试》成绩
//    @GET("examinationTest/getFormalExamScore")
//    Observable<ResultInfo<ArrayList<ExamineBean>>> getFormalExamScore();
//
//    // 干部考试》加入
//    @POST("schoolUser/insertExamUser")
//    Observable<ResultInfo<String>> insertExamUser(@Body ExamineGanBuRegisterVO vo);
//
//    // 项目评估》根据班级id-查询项目评估
//    @GET("schoolTeacherEval/getXmEval")
//    Observable<ResultInfo<SchoolXmEval>> schoolTeacherEvalGetXmEval(@Query("classId") String classId);
//
//    // 项目评估》新增项目评估
//    @POST("schoolTeacherEval/saveXmEval")
//    Observable<ResultInfo<SchoolXmEval>> schoolTeacherEvalSaveXmEval(@Body SchoolXmEval vo);
//
//    // 项目评估》根据班级id-查询办学评估
//    @GET("schoolTeacherEval/getBxEval")
//    Observable<ResultInfo<SchoolBxEval>> schoolTeacherEvalGetBxEval(@Query("classId") String classId);
//
//    // 项目评估》新增办学评估
//    @POST("schoolTeacherEval/saveBxEval")
//    Observable<ResultInfo<SchoolBxEval>> schoolTeacherEvalSaveBxEval(@Body SchoolBxEval vo);
//
//    // 课程》成绩查询
//    @GET("examinationTest/getDxksExamScore")
//    Observable<ResultInfo<ArrayList<ExamineBean>>> getClassExamineHistoryList();
//
//    // 课程》入班审批
//    @POST("schoolUser/updateUserAudit")
//    Observable<ResultInfo<String>> submitClassMemberCheck(@Body ExamineClassMemberCheckVo vo);
//
//    // 讨论》列表
//    @POST("schoolDiscuss/pageAppList")
//    Observable<ResultInfo<AppPageData<DiscussEntity>>> schoolDiscussPageAppList(@Body PageReq<CommVo> pageReq);
//
//    // 讨论》详情
//    @GET("schoolDiscuss/get")
//    Observable<ResultInfo<DiscussEntity>> schoolDiscussGet(@Query("id") String id);
//
//    // 讨论》新增讨论
//    @POST("schoolDiscussEval/save")
//    Observable<ResultInfo<String>> schoolDiscussEvalSave(@Body DiscussEvaluateEntity vo);
//
//    // 学习 》 我的> 学习计划
//    @POST("schoolCourse/pageCourseList")
//    Observable<ResultInfo<AppPageData<StudyCourseEntity>>> schoolCoursePageCourseList(@Body PageReq<YunKeVo> pageReq);
//
//    // 用户》更新详细
//    @GET("system/common/updateUserInfo")
//    Observable<ResultInfo<String>> updateUserInfo(@Query("userName") String userName, @Query("userPhone") String userPhone);
}
